| Предыдущая | Следущая | |
Flash Player 7.
listenerObject.onLoadProgress = function([target_mc:Object[,loadedBytes:Number[,totalBytes:Number] ] ] ) { //код }
listenerObject Объект-слушатель событий (listener), добавленный при помощи MovieClipLoader.addListener().
target_mc Клип, загруженный методом MovieClipLoader.loadClip().
Необязательный параметр.
loadedBytes Число байт, загруженных на момент вызова
обработчика.
totalBytes Общее число байт в загружаемом файле.
Ничего.
Listener; вызывается каждый раз когда загружаемая информация записывается
на диск в процессе загрузки (т.е. между MovieClipLoader.onLoadStart и MovieClipLoader.onLoadComplete).
Вы можете использовать этот метод для отображения процесса загрузки с помощью
параметров loadedBytes и totalBytes parameters.
Значение target_mc указывает на клип, для которого был
применен вызов метода. Этим параметром удобно пользоваться при загрузке нескольких
файлов с одним и тем же набором listener'ов. Этот необязательный параметр
передается в код функции.
В этом примере с помощью методов Drawing API создается "градусник" (progress
bar), который отображает процесс загрузки изображения с помощью обработчика onLoadProgress.
По завершении загрузки progress
bar удаляется со сцены. Необходимо заменить параметр URL-адреса изображения
в _mcl.loadClip() так, чтобы он ссылался на реальный файл, используя
HTTP. Если попытаться использовать этот пример для загрузки файла с локального
диска, то он не будет работать, поскольку в режиме тестирования
клипа flash player грузит локальные файлы сразу целиком. Поместите приведенный
код в FLA или AS файл:
this.createEmptyMovieClip("progressBar_mc", 0);
progressBar_mc.createEmptyMovieClip("bar_mc", 1);
progressBar_mc.createEmptyMovieClip("stroke_mc", 2);
with (progressBar_mc.stroke_mc) {
lineStyle(0, 0x000000);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
}
with (progressBar_mc.bar_mc) {
beginFill(0xFF0000, 100);
moveTo(0, 0);
lineTo(100, 0);
lineTo(100, 10);
lineTo(0, 10);
lineTo(0, 0);
endFill();
_xscale = 0;
}
progressBar_mc._x = 2;
progressBar_mc._y = 2;
//
var mclListener:Object = new Object();
mclListener.onLoadStart = function(target_mc:MovieClip) {
progressBar_mc.bar_mc._xscale = 0;
};
mclListener.onLoadProgress = function(target_mc:MovieClip, bytesLoaded:Number, bytesTotal:Number) {
progressBar_mc.bar_mc._xscale = Math.round(bytesLoaded/bytesTotal*100);
};
mclListener.onLoadComplete = function(target_mc:MovieClip) {
progressBar_mc.removeMovieClip();
};
mclListener.onLoadInit = function(target_mc:MovieClip) {
target_mc._height = 320;
target_mc._width = 240;
};
this.createEmptyMovieClip("image_mc", 100);
var image_mcl:MovieClipLoader = new MovieClipLoader();
image_mcl.addListener(mclListener);
image_mcl.loadClip("[place a valid URL pointing to a JPEG file here]", image_mc);
MovieClipLoader.getProgress()
| Посмотреть комментарии LiveDocs | Предыдущая | Следущая | |